package com.health.healthSys.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.health.common.annotation.Excel;
import com.health.common.core.domain.BaseEntity;
import java.util.List;

/**
 * 资讯评论对象 info_comment
 * 
 * @author maple
 * @date 2025-03-24
 */
public class InfoComment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评论ID */
    private String commentId;

    /** 关联的资讯ID */
    @Excel(name = "关联的资讯ID")
    private String infoId;

    /** 发表用户ID */
    @Excel(name = "发表用户ID")
    private String userId;

    /** 评论内容 */
    @Excel(name = "评论内容")
    private String content;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Integer likeCount;

    /** 状态（0=待审核，1=已发布，2=已删除，3=已拒绝） */
    @Excel(name = "状态", readConverterExp = "0=待审核,1=已发布,2=已删除,3=已拒绝")
    private String status;

    /** 父评论ID（用于回复评论） */
    @Excel(name = "父评论ID")
    private String parentId;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String auditRemark;

    /** 审核人ID */
    @Excel(name = "审核人ID")
    private String auditorId;

    /** 审核时间 */
    @Excel(name = "审核时间")
    private String auditTime;

    /** 举报次数 */
    @Excel(name = "举报次数")
    private Integer reportCount;

    /** 举报原因 */
    @Excel(name = "举报原因")
    private String reportReason;

    /** 用户昵称（非数据库字段） */
    private String nickName;

    /** 用户头像（非数据库字段） */
    private String avatar;

    /** 子评论列表（非数据库字段） */
    private List<InfoComment> children;

    public void setCommentId(String commentId) 
    {
        this.commentId = commentId;
    }

    public String getCommentId() 
    {
        return commentId;
    }
    public void setInfoId(String infoId) 
    {
        this.infoId = infoId;
    }

    public String getInfoId() 
    {
        return infoId;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setLikeCount(Integer likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Integer getLikeCount() 
    {
        return likeCount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setParentId(String parentId) 
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }
    public void setAuditRemark(String auditRemark) 
    {
        this.auditRemark = auditRemark;
    }

    public String getAuditRemark() 
    {
        return auditRemark;
    }

    public String getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(String auditorId) {
        this.auditorId = auditorId;
    }

    public String getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(String auditTime) {
        this.auditTime = auditTime;
    }

    public Integer getReportCount() {
        return reportCount;
    }

    public void setReportCount(Integer reportCount) {
        this.reportCount = reportCount;
    }

    public String getReportReason() {
        return reportReason;
    }

    public void setReportReason(String reportReason) {
        this.reportReason = reportReason;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public List<InfoComment> getChildren() {
        return children;
    }

    public void setChildren(List<InfoComment> children) {
        this.children = children;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("commentId", getCommentId())
            .append("infoId", getInfoId())
            .append("userId", getUserId())
            .append("content", getContent())
            .append("createTime", getCreateTime())
            .append("likeCount", getLikeCount())
            .append("status", getStatus())
            .append("parentId", getParentId())
            .append("auditRemark", getAuditRemark())
            .append("auditorId", getAuditorId())
            .append("auditTime", getAuditTime())
            .append("reportCount", getReportCount())
            .append("reportReason", getReportReason())
            .append("nickName", getNickName())
            .append("avatar", getAvatar())
            .toString();
    }
}
